package com.xpengplayer.update;

/**
 * 更新信息模型类
 * 用于存储从服务器获取的更新信息
 */
public class UpdateInfo {
    private int versionCode;       // 版本号
    private String versionName;    // 版本名称
    private String apkUrl;         // APK下载地址
    private String updateLog;      // 更新日志
    private boolean isForceUpdate; // 是否强制更新
    private long fileSize;         // 文件大小（字节）
    private String md5;            // APK文件的MD5值，用于校验
    private String releaseDate;    // 发布日期
    
    public UpdateInfo() {
    }
    
    public int getVersionCode() {
        return versionCode;
    }
    
    public void setVersionCode(int versionCode) {
        this.versionCode = versionCode;
    }
    
    public String getVersionName() {
        return versionName;
    }
    
    public void setVersionName(String versionName) {
        this.versionName = versionName;
    }
    
    public String getApkUrl() {
        return apkUrl;
    }
    
    public void setApkUrl(String apkUrl) {
        this.apkUrl = apkUrl;
    }
    
    /**
     * 获取更新日志
     */
    public String getUpdateLog() {
        // 如果updateLog为空，返回默认值
        if (updateLog == null || updateLog.isEmpty()) {
            return "优化用户体验，修复已知问题";
        }
        return updateLog;
    }
    
    public void setUpdateLog(String updateLog) {
        this.updateLog = updateLog;
    }
    
    /**
     * 判断是否强制更新
     */
    public boolean isForceUpdate() {
        return isForceUpdate;
    }
    
    public void setForceUpdate(boolean forceUpdate) {
        isForceUpdate = forceUpdate;
    }
    
    /**
     * 获取文件大小
     */
    public long getFileSize() {
        return fileSize;
    }
    
    public void setFileSize(long fileSize) {
        this.fileSize = fileSize;
    }
    
    public String getMd5() {
        return md5;
    }
    
    public void setMd5(String md5) {
        this.md5 = md5;
    }
    
    public String getReleaseDate() {
        return releaseDate;
    }
    
    public void setReleaseDate(String releaseDate) {
        this.releaseDate = releaseDate;
    }
    
    @Override
    public String toString() {
        return "UpdateInfo{" +
                "versionCode=" + versionCode +
                ", versionName='" + versionName + '\'' +
                ", isForceUpdate=" + isForceUpdate +
                ", fileSize=" + fileSize +
                ", md5='" + md5 + '\'' +
                ", releaseDate='" + releaseDate + '\'' +
                '}';
    }
}